﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Collections;
using System.Data.OleDb;

namespace OffGeriatria.Dao
{
    public class CDinamizador : IDinamiza
    {
        #region Propiedades Publicas y Privadas

        CConexion db = new CConexion();
        ArrayList _parametros;
        ArrayList _valores;
        ArrayList _tiposDatos;

        #endregion

        /// <summary>
        /// Selecciona la colección de la base de datos correspondiente a la tabla participante
        /// </summary>
        /// <param name="participanteid">Identificador para el partificipante que se consulta</param>
        /// <returns></returns>
        public ArrayList Select_Participante(int participanteid)
        {
            try
            {
                ArrayList datos_retornados = new ArrayList();
                db.Conectar();
                string query = String.Format("SELECT dbo_participantes.* FROM dbo_participantes Where participanteId = {0} ;", participanteid);
                datos_retornados = db.Ejecutar(query);
                db.Desconectar();

                datos_retornados = VerificarNullC(datos_retornados);

                return datos_retornados;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Selecciona la colección de la base de datos correspondiente a la tabla SocioEconomico
        /// </summary>
        /// <param name="participanteid">Identificador para el partificipante que se consulta</param>
        /// <returns></returns>
        public ArrayList Select_SocioEconomico(int participanteid)
        {
            try
            {
                ArrayList datos_retornados = new ArrayList();
                db.Conectar();
                string query = String.Format("SELECT * FROM dbo_socioeconomico Where participanteId = {0} ;", participanteid);
                datos_retornados = db.Ejecutar(query);
                db.Desconectar();

                datos_retornados = VerificarNullC(datos_retornados);

                return datos_retornados;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Selecciona la coleccion de la base de datos correspondiente a la tabla Salud
        /// </summary>
        /// <param name="participanteid">Identificador para el partificipante que se consulta</param>
        /// <returns></returns>
        public ArrayList Select_Salud(int participanteid)
        {
            try
            {
                ArrayList datos_retornados = new ArrayList();
                db.Conectar();
                string query = String.Format("SELECT * FROM dbo_salud Where participantesId = {0} ;", participanteid);
                datos_retornados = db.Ejecutar(query);
                db.Desconectar();

                datos_retornados = VerificarNullC(datos_retornados);

                return datos_retornados;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Agrega un registro nuevo a la tabla participante
        /// </summary>
        /// <param name="Valores">Arreglo que contiene los valores correspondientes al participante</param>
        /// <returns></returns>
        public bool Add_Participante(System.Collections.ArrayList Valores)
        {
            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);

            try
            {
                db.Conectar();

                #region Query

                string query_participante = "INSERT INTO dbo_participantes (fechaCreo, documento,";
                query_participante += "tipoDocumento, primerNombre, segundoNombre, primerApellido,";
                query_participante += " segundoApellido, sexo, fechaNacimiento, tieneCelular,";
                query_participante += " celular, atendidoCentro, centroSalud, vivioEnCampo, campoaños, ";
                query_participante += "vive, estadoCivil, viveEnpareja, haceCincoviviaigual, hijosVivosNacidos,";
                query_participante += " hijosVivos, sabeLeer, dptoCod, ciudadCod, actDocumento, paisCod, ";
                query_participante += "foto_perfil, cedulaImg, sisbenImg) VALUES (@fechaCreo, @documento, ";
                query_participante += "@tipoDocumento, @primerNombre, @segundoNombre, @primerApellido, @segundoApellido,";
                query_participante += "@sexo, @fechaNacimiento, @tieneCelular, @celular, @atendidoCentro, @centroSalud,";
                query_participante += "@vivioEnCampo, @campoaños, @vive, @estadoCivil, @viveEnpareja, @haceCincoviviaigual,";
                query_participante += "@hijosVivosNacidos, @hijosVivos, @sabeLeer, @dptoCod, @ciudadCod, @actDocumento,";
                query_participante += " @paisCod, @foto_perfil, @cedulaImg, @sisbenImg)";

                #endregion

                #region Parametros

                string namesParameters = "@fechaCreo, @documento, @tipoDocumento, @primerNombre, @segundoNombre, @primerApellido, @segundoApellido, @sexo, @fechaNacimiento, @tieneCelular, @celular, @atendidoCentro, @centroSalud, @vivioEnCampo, @campoaños, @vive, @estadoCivil, @viveEnpareja, @haceCincoviviaigual, @hijosVivosNacidos, @hijosVivos, @sabeLeer, @dptoCod, @ciudadCod, @actDocumento, @paisCod, @foto_perfil, @cedulaImg, @sisbenImg";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.Date);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Date);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);


                #endregion

                db.Insertar(query_participante, _parametros, _valores, _tiposDatos, true);

                return true;
            }
            catch (OleDbException) { return false; }
            catch (Exception) { return false; }
        }
        /// <summary>
        /// Agrega un registro nuevo a la tabla socioeconomico
        /// </summary>
        /// <param name="Valores">Arreglo que contiene los valores correspondientes al socioeconomico</param>
        /// <returns></returns>
        public bool Add_SocioEconomico(System.Collections.ArrayList Valores)
        {

            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);
            try
            {
                db.Conectar();

                #region Query

                string query_socioeconomico = "INSERT INTO dbo_socioeconomico (fechaCreo, asisteEscuela, gradoPrimaria, gradoSecundaria, gradoTecnico, gradoUniversidad, estudiaActualPreg, estudioRealiza, interesaEstudio, estudioInteresa, hayComputadores, sabeUsarComputador, interesaComputador, zona, barrio, estrato, servicioAcueducto, servicioAlcantarillado, servicioTelefono, servicioElectricidad, servicioGas, actualVive, condicionVivie, dptoVive, ciudadVive, participanteId, usuario_id, direccion) VALUES (@fechaCreo, @asisteEscuela, @gradoPrimaria, @gradoSecundaria, @gradoTecnico, @gradoUniversidad, @estudiaActualPreg, @estudioRealiza, @interesaEstudio, @estudioInteresa, @hayComputadores, @sabeUsarComputador, @interesaComputador, @zona, @barrio, @estrato, @servicioAcueducto, @servicioAlcantarillado, @servicioTelefono, @servicioElectricidad, @servicioGas, @actualVive, @condicionVivie, @dptoVive, @ciudadVive, @participanteId, @usuario_id, @direccion)";

                #endregion

                #region Parametros

                string namesParameters = "@fechaCreo, @asisteEscuela, @gradoPrimaria, @gradoSecundaria, @gradoTecnico, @gradoUniversidad, @estudiaActualPreg, @estudioRealiza, @interesaEstudio, @estudioInteresa, @hayComputadores, @sabeUsarComputador, @interesaComputador, @zona, @barrio, @estrato, @servicioAcueducto, @servicioAlcantarillado, @servicioTelefono, @servicioElectricidad, @servicioGas, @actualVive, @condicionVivie, @dptoVive, @ciudadVive, @participanteId, @usuario_id, @direccion";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.Date);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);

                #endregion

                db.Insertar(query_socioeconomico, _parametros, _valores, _tiposDatos, true);

                return true;
            }
            catch (OleDbException) { return false; }
            catch (Exception) { return false; }
        }
        /// <summary>
        /// Agrega un registro nuevo a la tabla Salud
        /// </summary>
        /// <param name="Valores">Arreglo que contiene los valores correspondientes al salud</param>
        /// <returns></returns>
        public bool Add_Salud(ArrayList Valores)
        {
            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);
            try
            {

                #region Query

                string query_salud = "INSERT INTO dbo_salud (fechaCreo, estaSisben, numeroSisben, estaSalud, afiliacion, entidad, atencionUltimoano, ordenanAyudas, descOrdenAyudas, usaAyudas, descUsaAyudas, creeAyudas, descCreeAyudas, dondeAsisEnfermo, porqueNoFue, requiereOtraPersona, personaAyuda, sexoPersonaAyuda, participantesId, usuario_id) VALUES (@fechaCreo, @estaSisben, @numeroSisben, @estaSalud, @afiliacion, @entidad, @atencionUltimoano, @ordenanAyudas, @descOrdenAyudas, @usaAyudas, @descUsaAyudas, @creeAyudas, @descCreeAyudas, @dondeAsisEnfermo, @porqueNoFue, @requiereOtraPersona, @personaAyuda, @sexoPersonaAyuda, @participantesId, @usuario_id)";

                #endregion

                #region Parametros

                string namesParameters = "@fechaCreo, @estaSisben, @numeroSisben, @estaSalud, @afiliacion, @entidad, @atencionUltimoano, @ordenanAyudas, @descOrdenAyudas, @usaAyudas, @descUsaAyudas, @creeAyudas, @descCreeAyudas, @dondeAsisEnfermo, @porqueNoFue, @requiereOtraPersona, @personaAyuda, @sexoPersonaAyuda, @participantesId, @usuario_id";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.Date);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.Numeric);

                #endregion

                db.Insertar(query_salud, _parametros, _valores, _tiposDatos, true);


                return true;
            }
            catch (Exception) { return false; }

        }
        /// <summary>
        /// Actualiza un registro en la tabla Participantes
        /// </summary>
        /// <param name="id">Identificador del participante a actualizar</param>
        /// <param name="Valores">Arreglo de valores a actualizar</param>
        /// <returns></returns>
        public bool Update_Participante(int id, System.Collections.ArrayList Valores)
        {
            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);

            try
            {
                db.Conectar();

                #region Query

                string query_participante = "UPDATE dbo_participantes ";
                query_participante += "SET documento =@documento, tipoDocumento = @tipoDocumento, primerNombre = @primerNombre, segundoNombre = @segundoNombre, primerApellido = @primerApellido, segundoApellido = @segundoApellido, sexo = @sexo, fechaNacimiento = @fechaNacimiento, tieneCelular = @tieneCelular, ";
                query_participante += " celular = @celular, atendidoCentro = @atendidoCentro, centroSalud = @centroSalud, vivioEnCampo = @vivioEnCampo, campoaños = @campoaños, vive = @vive, estadoCivil = @estadoCivil, viveEnpareja = @viveEnpareja, haceCincoviviaigual = @haceCincoviviaigual, hijosVivosNacidos = @hijosVivosNacidos, ";
                query_participante += " hijosVivos = @hijosVivos, sabeLeer = @sabeLeer, dptoCod = @dptoCod, ciudadCod = @ciudadCod, actDocumento = @actDocumento, paisCod = @paisCod, foto_perfil = @foto_perfil, cedulaImg = @cedulaImg, sisbenImg = @sisbenImg Where participanteid = " + id;

                #endregion

                #region Parametros

                string namesParameters = "@documento, @tipoDocumento, @primerNombre, @segundoNombre, @primerApellido, @segundoApellido, @sexo, @fechaNacimiento, @tieneCelular, @celular, @atendidoCentro, @centroSalud, @vivioEnCampo, @campoaños, @vive, @estadoCivil, @viveEnpareja, @haceCincoviviaigual, @hijosVivosNacidos, @hijosVivos, @sabeLeer, @dptoCod, @ciudadCod, @actDocumento, @paisCod, @foto_perfil, @cedulaImg, @sisbenImg";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Date);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);


                #endregion

                db.Insertar(query_participante, _parametros, _valores, _tiposDatos, true);

                return true;
            }
            catch (OleDbException) { return false; }
            catch (Exception) { return false; }
        }
        /// <summary>
        /// Actualiza un registro en la tabla Socioeconomico
        /// </summary>
        /// <param name="id">Identificador del participante</param>
        /// <param name="Valores">Arreglo de valores a actualizar</param>
        /// <returns></returns>
        public bool Update_SocioEconomico(int id, System.Collections.ArrayList Valores)
        {
            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);

            try
            {
                db.Conectar();

                #region Query

                string query_socioeconomico = "UPDATE dbo_socioeconomico ";
                query_socioeconomico += "SET   asisteEscuela = @asisteEscuela, gradoPrimaria = @gradoPrimaria, gradoSecundaria = @gradoSecundaria, gradoTecnico = @gradoTecnico, gradoUniversidad = @gradoUniversidad, estudiaActualPreg =@estudiaActualPreg, estudioRealiza = @estudioRealiza, interesaEstudio = @interesaEstudio, ";
                query_socioeconomico += " estudioInteresa = @estudioInteresa, hayComputadores = @hayComputadores, sabeUsarComputador = @sabeUsarComputador, interesaComputador = @interesaComputador, zona = @zona, barrio = @barrio, estrato = @estrato, servicioAcueducto = @servicioAcueducto, servicioAlcantarillado = @servicioAlcantarillado,";
                query_socioeconomico += " servicioTelefono = @servicioTelefono, servicioElectricidad = @servicioElectricidad, servicioGas = @servicioGas, actualVive = @actualVive, condicionVivie = @condicionVivie, dptoVive = @dptoVive, ciudadVive = @ciudadVive, participanteId = @participanteId, usuario_id = @usuario_id, direccion = @direccion Where participanteid = " + id;

                #endregion

                #region Parametros

                string namesParameters = "@asisteEscuela,@gradoPrimaria,@gradoSecundaria,@gradoTecnico,@gradoUniversidad,@estudiaActualPreg,@estudioRealiza,@interesaEstudio,@estudioInteresa,@hayComputadores,@sabeUsarComputador,@interesaComputador,@zona,@barrio,@estrato,@servicioAcueducto,@servicioAlcantarillado,@servicioTelefono,@servicioElectricidad,@servicioGas,@actualVive,@condicionVivie,@dptoVive,@ciudadVive,@participanteId,@usuario_id,@direccion";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.Numeric);
                _tiposDatos.Add(OleDbType.VarChar);

                #endregion

                db.Insertar(query_socioeconomico, _parametros, _valores, _tiposDatos, true);

                return true;
            }
            catch (OleDbException) { return false; }
            catch (Exception) { return false; }
        }
        /// <summary>
        /// Actualiza un registro en la tabla Salud
        /// </summary>
        /// <param name="id">Identificador de participante</param>
        /// <param name="Valores">Arreglo de valores a actualizar</param>
        /// <returns></returns>
        public bool Update_Salud(int id, System.Collections.ArrayList Valores)
        {
            _parametros = new ArrayList();
            _valores = new ArrayList();
            _tiposDatos = new ArrayList();

            _valores = Valores;

            _valores = VerificarNull(_valores);

            try
            {
                db.Conectar();

                #region Query

                string query_salud = "UPDATE dbo_salud ";
                query_salud += " SET estaSisben = @estaSisben, numeroSisben = @numeroSisben, estaSalud = @estaSalud, afiliacion = @afiliacion, entidad = @entidad, atencionUltimoano = @atencionUltimoano, ordenanAyudas = @ordenanAyudas, descOrdenAyudas = @descOrdenAyudas, usaAyudas = @usaAyudas, descUsaAyudas = @descUsaAyudas,";
                query_salud += " creeAyudas = @creeAyudas, descCreeAyudas = @descCreeAyudas, dondeAsisEnfermo = @dondeAsisEnfermo, porqueNoFue = @porqueNoFue, requiereOtraPersona = @requiereOtraPersona, personaAyuda = @personaAyuda, sexoPersonaAyuda = @sexoPersonaAyuda";
                query_salud += " Where participantesId = " + id;

                #endregion

                #region Parametros

                string namesParameters = "@estaSisben,@numeroSisben,@estaSalud,@afiliacion,@entidad,@atencionUltimoano,@ordenanAyudas,@descOrdenAyudas,@usaAyudas,@descUsaAyudas,";
                namesParameters += "@creeAyudas,@descCreeAyudas,@dondeAsisEnfermo,@porqueNoFue,@requiereOtraPersona,@personaAyuda,@sexoPersonaAyuda";

                string[] parametros = namesParameters.Split(',');

                foreach (var item in parametros)
                {
                    _parametros.Add(item.ToString().Trim());
                }

                #endregion

                #region Tipos de Dato

                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);
                _tiposDatos.Add(OleDbType.VarChar);

                #endregion

                db.Insertar(query_salud, _parametros, _valores, _tiposDatos, true);

                return true;
            }
            catch (OleDbException) { return false; }
            catch (Exception) { return false; }
        }
        /// <summary>
        /// Verifica un arreglo de valores y reemplaza null por "NULL"
        /// </summary>
        /// <param name="aVerificar">Arreglo de valores a verificar</param>
        /// <returns></returns>
        public ArrayList VerificarNull(ArrayList aVerificar)
        {
            try
            {
                for (int i = 0; i < aVerificar.Count; i++)
                {
                    if (aVerificar[i] == null)
                        aVerificar[i] = "NULL";
                }

                return aVerificar;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Verifica un arreglo de valores y reemplaza "NULL" por null
        /// </summary>
        /// <param name="aVerificar">Arreglo de valores a verificar</param>
        /// <returns></returns>
        public ArrayList VerificarNullC(ArrayList aVerificar)
        {
            try
            {
                for (int i = 0; i < aVerificar.Count; i++)
                {
                    if (aVerificar[i].ToString() == "NULL")
                        aVerificar[i] = null;
                }

                return aVerificar;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Remueve un registro de la tabla Participantes
        /// </summary>
        /// <param name="Valores">Arreglo de valores a actualizar</param>
        /// <returns></returns>
        public bool remove(System.Collections.ArrayList Valores)
        {
            throw new NotImplementedException();
        }
        /// <summary>
        /// Obtiene el ultimo id de participante ingresado
        /// </summary>
        /// <returns></returns>
        public int Get_Last_Id()
        {
            try
            {
                ArrayList datos_retornados = new ArrayList();
                db.Conectar();
                string query = "SELECT max(participanteId) FROM dbo_participantes;";
                datos_retornados = db.Ejecutar(query);
                db.Desconectar();

                int participanteid = Convert.ToInt32(datos_retornados[0]);

                return participanteid;
            }
            catch (Exception) { return 0; }
        }
    }
}
